package com.peace.hospital.service.drugstorage.impl;



import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.peace.hospital.entity.drugstorage.Modprice;
import com.peace.hospital.entity.drugstorage.dto.ModpriceDto;
import com.peace.hospital.entity.drugstorage.dto.ModpriceDto1;
import com.peace.hospital.entity.drugstorage.dto.ModpriceDto2;
import com.peace.hospital.mapper.drugstorage.ModpriceMapper;
import com.peace.hospital.service.drugstorage.IModpriceService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.ArrayList;
import java.util.List;

/**
 * <p>
 * 调价表 服务实现类
 * </p>
 *
 * @author xie
 * @since 2019-11-12
 */
@Service
public class ModpriceServiceImpl extends ServiceImpl<ModpriceMapper, Modprice> implements IModpriceService {

    @Autowired
    private ModpriceMapper modpriceMapper;


    //添加调价信息
    @Override
    public boolean InsertModprice(ModpriceDto modpriceDto) {
        List<ModpriceDto1> modpriceDto1s = new ArrayList<>();
        //定义一个变量用于接收添加调价信息的返回值；
        int s = 0;
        int a=0;
        int w=0;
        List<Modprice> list = modpriceDto.getModprice();
        System.out.println(modpriceDto);
        String name = modpriceDto.getStaffinfo().getStaname();
        List<Integer> drugid = modpriceDto.getDrugid();
        int i = modpriceMapper.findByname(name);

        //添加调价信息
        for (int i1 = 0; i1 < list.size(); i1++) {
            double modoripri = list.get(i1).getModoripri();
            s= modpriceMapper.InsertModprice(i, list.get(i1).getModdate(),list.get(i1).getModoripri(), list.get(i1).getModpri());


            ModpriceDto1 modpriceDto2 = new ModpriceDto1();
            Integer r = modpriceMapper.findModid();
            modpriceDto2.setModid(r);
            modpriceDto2.setModdate(list.get(i1).getModdate());
            modpriceDto2.setModoripri(list.get(i1).getModoripri());
            modpriceDto2.setModpri(list.get(i1).getModpri());
            modpriceDto1s.add(modpriceDto2);

        }

        for (ModpriceDto1 modpriceDto1 : modpriceDto1s) {

            for (Integer integer : drugid) {
                int mid=  modpriceDto1.getModid();
                double drugprice=   modpriceDto1.getModpri();
                a= modpriceMapper.InsertMassge(mid,integer);
                System.out.println(modpriceDto1.getModpri()+"******************************");
                System.out.println(integer+"******************************");
                w= modpriceMapper.UpdateStaffinfo(drugprice,integer);

            }
            if(s>0||a>0||w>0){
                return  true;
            }




        }



//
//
//        List<String> list1 = modpriceDto.getDrugname();
//
//        List<Integer> list3 = new ArrayList<>() ;
//
//        for (int i1 = 0; i1 < list1.size(); i1++) {
//            modpriceDto1s.get(i1).setDrugname(list1.get(i1));
//            //向中间表添加数据
//            int falg =0;
//            //根据药品id修改药品价格
//            for (ModpriceDto1 modpriceDto1 : modpriceDto1s) {
//                falg++;
//                //根据药品名查询药品ID
//                Integer id= modpriceMapper.SelectDruginformationByDrugname(modpriceDto1.getDrugname());
//                list3.add(id);
//
//                //查询当前插入调价表调价信息的ID
//                int a=0;
//                for (Integer integer : list2) {
//                    for (Integer integer3 : list3) {
//                        System.out.println(integer);
//                        a = modpriceMapper.InsertMassge(integer, integer3);
//                        int e = modpriceMapper.UpdateStaffinfo(modpriceDto1.getModpri(),id);
//                        if (s > 0 || a > 0 || e > 0) {
//                            return true;
//                        }
//                    }
//
//                }
//
//
//
//            }
//
//            System.out.println(modpriceDto1s);
//
//        }
        return false;
    }










  //查询调价信息
    @Override
    public  List<ModpriceDto2>    selectModprice(Integer drugid) {
        ModpriceDto  modpriceDto = new ModpriceDto();
        List<ModpriceDto2>  list= modpriceMapper.SelectModprice(drugid);
        if(null!= list){
            return list;
        }
           return null;
    }
}


